* {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 0;
}

#nprogress .bar {
  background: #18b5ff;
}

#app {
  height: 100%;
}

body {
  height: 100%;
  width: 100%;
  overflow-y: auto;
  position: relative;
}

.main-loading {
  height: 100%;

  .ant-spin-container {
    height: 100%;
  }
}

.min-height {
  min-height: 100px;
}

.d-flex {
  display: flex;
}

.d-inline-flex {
  display: inline-flex;
}

.flex-1 {
  flex: 1;
}

.flex-column {
  flex-direction: column;
}

.align-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.page-card {
  width: 260px;
  margin-right: @space;
}

.padding-mini {
  padding: @miniSpace;
}

.padding-right-mini {
  padding-right: @miniSpace;
}

.padding-right-big {
  padding-right: 40px;
}

.padding-left-mini {
  padding-left: @miniSpace;
}

.padding-left-right-mini {
  padding-right: @miniSpace;
  padding-left: @miniSpace;
}

.padding-top-mini {
  padding-top: @miniSpace;
}

.padding-bottom-mini {
  padding-bottom: @miniSpace;
}


.padding {
  padding: @space;
}

.padding-right {
  padding-right: @space;
}

.padding-left {
  padding-left: @space;
}

.padding-left-right {
  padding-right: @space;
  padding-left: @space;
}

.padding-top {
  padding-top: @space;
}

.padding-bottom {
  padding-bottom: @space;
}

.mr-5 {
  margin-right: 5px;
}

.margin {
  margin-right: @space;
}

.margin-right {
  margin-right: @space;
}

.margin-left {
  margin-left: @space;
}

.margin-top {
  margin-top: @space;
}

.margin-bottom {
  margin-bottom: @space;
}

.position-rel {
  position: relative;
}

.collapse-action {
  position: absolute;
  right: -10px;
  width: 10px;
  height: 40px;
  background-color: #dcdfe6;
  border-top-right-radius: 20px 20%;
  border-bottom-right-radius: 20px 20%;
  cursor: pointer;
  transition: all 0.3s ease;

  &.is-collapse {
    &::after {
      right: unset;
      left: 3px;
      border-right-color: transparent;
      border-left-color: #bbbbbb;
    }
  }

  &::after {
    position: absolute;
    content: " ";
    top: 50%;
    transform: translateY(-60%);
    right: 3px;
    left: unset;
    border-right: 5px solid #bbbbbb;
    border-bottom: 5px solid transparent;
    border-top: 5px solid transparent;
    border-left: 5px solid transparent;
    transition: all 0.3s ease;
  }

  &:hover {
    background-color: rgba(@primary-color, 0.1);

    &::after {
      border-right-color: rgba(@primary-color, 0.5);
    }

    &.is-collapse::after {
      border-left-color: rgba(@primary-color, 0.5);
      border-right-color: transparent;
    }
  }
}

.collapse-el {
  width: 8px !important;
  flex-basis: 8px !important;

  &>*:not(.collapse-action) {
    opacity: 0;
    visibility: hidden;
    transition: all 0.1s ease;
  }
}

.ant-btn-sm {
  height: 28px;
  padding: 0px 10px;
}

.c-primary {
  color: @primary-color;
}

.c-error {
  color: @error-color;
}

.c-success {
  color: @success-color;
}

.c-warning {
  color: @warning-color;
}

.c-info {
  color: @info-color;
}

.box-shadow {
  box-shadow: @box-shadow-base;
}

.text-head-color {
  color: @heading-color;
}

.text-color {
  color: @text-color;
}

.text-secondary-color {
  color: @text-color-secondary;
}

.border {
  border: 1px solid @border-color-base;
}

.border-top {
  border-top: 1px solid @border-color-base;
}

.border-right {
  border-right: 1px solid @border-color-base;
}

.border-bottom {
  border-bottom: 1px solid @border-color-base;
}

.border-left {
  border-left: 1px solid @border-color-base;
}

.border-radius {
  border-radius: @border-radius-base;
}

a.c-error {
  &:hover {
    color: rgba(@error-color, 0.8);
  }

  &:active {
    color: #d61620;
  }
}

.ant-tree {
  .ant-tree-node-content-wrapper {
    display: flex;
  }

  .ant-tree-treenode {
    .ant-tree-title {
      flex: 1;
      display: inline-flex;
    }
  }

  &.is-list {
    .ant-tree-switcher {
      display: none;
    }
  }
}

.ant-card {
  &.card-body-scroll {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;

    .ant-card-body {
      flex: 1;
      overflow-y: auto;
      .scroll-bar;
    }
  }

  &.card-mini {
    .ant-card-head {
      padding: 0 @space-p;

      &-title {
        padding: 12px 0;
      }
    }

    .ant-card-extra {
      padding: 12px 0;
    }

    .ant-card-body {
      padding: 0;
    }
  }
}